{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "[TOC]\n",
    "\n",
    "# 手写数字识别应用程序"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 导入模块"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import pylab\n",
    "import numpy as np\n",
    "from PIL import Image\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.svm import SVC\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0., 0., 0., ..., 0., 0., 0.]])"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "return_vect = np.zeros((1, 1024))\n",
    "return_vect"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 图像转向量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def img2vector(filename):\n",
    "    \"\"\"将32*32的二进制图像转换为1*1024向量\"\"\"\n",
    "    # 构造一个一行有1024个元素的即 1*1024 的零向量\n",
    "    return_vect = np.zeros((1, 1024))\n",
    "\n",
    "    with open(filename, 'r', encoding='utf-8') as fr:\n",
    "        # 读取文件的每一行的所有元素\n",
    "        for i in range(32):\n",
    "            line_str = fr.readline()\n",
    "            # 把文件每一行的所有元素按照顺序写入构造的 1*1024 的零矩阵\n",
    "            for j in range(32):\n",
    "                return_vect[0, 32 * i + j] = int(line_str[j])\n",
    "\n",
    "        # 返回转换后的 1*1024 向量\n",
    "        return return_vect"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 训练并测试模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "总共错了13个数据\n",
      "错误率为1.37\n"
     ]
    }
   ],
   "source": [
    "# 手写数字集另一种导入方式\n",
    "# 直接导入不贴近工业\n",
    "'''\n",
    "from sklearn import datasets\n",
    "\n",
    "digits = datasets.load_digits()\n",
    "X = digits.data\n",
    "y = digits.target\n",
    "'''\n",
    "\n",
    "def hand_writing_class_test():\n",
    "    \"\"\"手写数字分类测试\"\"\"\n",
    "\n",
    "    # 对训练集数据做处理，构造一个 m*1024 的矩阵，m 是训练集数据的个数\n",
    "    hw_labels = []\n",
    "    training_file_list = os.listdir('digits/trainingDigits')  # type:list\n",
    "    m = len(training_file_list)\n",
    "    # 初始化训练的Mat矩阵，测试集\n",
    "    training_mat = np.zeros((m, 1024))\n",
    "\n",
    "    for i in range(m):\n",
    "        # 取出文件中包含的数字\n",
    "        file_name_str = training_file_list[i]  # type:str\n",
    "        file_str = file_name_str.split('.')[0]\n",
    "        class_num_str = int(file_str.split('_')[0])\n",
    "        # 添加标记到hw_labels中\n",
    "        hw_labels.append(class_num_str)\n",
    "        # 把该文件中的所有元素构造成 1*1024 的矩阵后存入之前构造的 m*1024 的矩阵中对应的行\n",
    "        training_mat[i, :] = img2vector(\n",
    "            'digits/trainingDigits/{}'.format(file_name_str))\n",
    "\n",
    "    # 训练模型\n",
    "    clf = SVC(C=200, kernel='rbf', gamma='auto')\n",
    "    clf.fit(training_mat, hw_labels)\n",
    "#     clf.fit(X,y)\n",
    "\n",
    "    # 返回testDigits目录下的文件列表\n",
    "    test_file_list = os.listdir('digits/testDigits')\n",
    "    # 错误检测计数\n",
    "    error_count = 0\n",
    "    # 测试数据的数量\n",
    "    m_test = len(test_file_list)\n",
    "\n",
    "    # 对测试集中的单个数据做处理\n",
    "    for i in range(m_test):\n",
    "        # 取出文件中包含的数字\n",
    "        file_name_str = test_file_list[i]\n",
    "        file_str = file_name_str.split('.')[0]\n",
    "        class_num_str = int(file_str.split('_')[0])\n",
    "\n",
    "        # 把该文件中的所有元素构造成一个 1*1024 的矩阵\n",
    "        vector_under_test = img2vector(\n",
    "            'digits/testDigits/{}'.format(file_name_str))\n",
    "\n",
    "        # 对刚刚构造的 1*1024 的矩阵进行分类处理判断结果\n",
    "        classifier_result = clf.predict(vector_under_test)\n",
    "#         print(\"分类返回结果为{}\\t真实结果为{}\".format(classifier_result, class_num_str))\n",
    "\n",
    "        # 对判断错误的计数加 1\n",
    "        if classifier_result != class_num_str:\n",
    "            error_count += 1\n",
    "\n",
    "    print(\"总共错了{}个数据\\n错误率为{:.2f}\".format(\n",
    "        error_count, error_count/m_test * 100))\n",
    "\n",
    "    return clf\n",
    "\n",
    "\n",
    "clf = hand_writing_class_test()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 模型转应用程序"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 处理图片"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "def img_binaryzation(img_filename):\n",
    "    \"\"\"处理图片为文本文件\"\"\"\n",
    "\n",
    "    # 调整图片的大小为 32*32px\n",
    "    img = Image.open(img_filename)\n",
    "    img_filename = 'test.jpg'\n",
    "    out = img.resize((32, 32), Image.ANTIALIAS)\n",
    "    out.save(img_filename)\n",
    "\n",
    "    # RGB 转为二值化图\n",
    "    img = Image.open(img_filename)\n",
    "    lim = img.convert('1')\n",
    "    lim.save(img_filename)\n",
    "\n",
    "    img = Image.open(img_filename)\n",
    "\n",
    "    # 将图像转化为数组并将像素转换到0-1之间\n",
    "    img_ndarray = np.asarray(img, dtype='float64') / 256\n",
    "\n",
    "    # 将图像的矩阵形式转化成一位数组保存到 data 中\n",
    "    data = np.ndarray.flatten(img_ndarray)\n",
    "\n",
    "    # 将一维数组转化成矩阵\n",
    "    a_matrix = np.array(data).reshape(32, 32)\n",
    "\n",
    "    # 将矩阵保存到 txt 文件中转化为二进制0，1存储\n",
    "    img_filename_list = img_filename.split('.')  # type:list\n",
    "    img_filename_list[-1] = 'jpg'\n",
    "    txt_filename = '.'.join(img_filename_list)\n",
    "    pylab.savetxt(txt_filename, a_matrix, fmt=\"%.0f\", delimiter='')\n",
    "\n",
    "    # 把 .txt 文件中的0和1调换\n",
    "    with open(txt_filename, 'r') as fr:\n",
    "        data = fr.read()\n",
    "        data = data.replace('1', '2')\n",
    "        data = data.replace('0', '1')\n",
    "        data = data.replace('2', '0')\n",
    "\n",
    "        with open(txt_filename, 'w') as fw:\n",
    "            fw.write(data)\n",
    "\n",
    "    return txt_filename"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 展示图片"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "img = Image.open('3.jpg')\n",
    "\n",
    "plt.imshow(img)\n",
    "plt.axis('on') # 关掉坐标轴为 off\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 预测图片"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "**结果:[4]**\n"
     ]
    }
   ],
   "source": [
    "def hand_writing_predict(img_filename):\n",
    "    # 处理图片为文本文件\n",
    "    txt_filename = img_binaryzation(img_filename)\n",
    "\n",
    "    # 把该文件中的所有元素构造成一个 1*1024 的矩阵\n",
    "    vector_under_test = img2vector(txt_filename)\n",
    "\n",
    "    # 对刚刚构造的 1*1024 的矩阵进行分类处理判断结果\n",
    "    classifier_result = clf.predict(vector_under_test)\n",
    "\n",
    "    return classifier_result\n",
    "\n",
    "\n",
    "print('**结果:{}**'.format(hand_writing_predict('3.jpg')))\n",
    "os.remove('test.jpg')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
